package com.hexinfo.dmpro.monitor.dao;

import com.hexinfo.dmpro.monitor.model.ReportResourceModel;
import com.hexinfo.dmpro.monitor.model.cm.ClusterResourceInfo;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: ReportManageDao
 * @Description:
 * @Author: lm.cai
 * @Date: 2021-09-16
 */
public interface ReportManageDao {

    /**
     * Dashboard页 - 运行情况展现
     * @return
     */
    //yarn作业运行情况统计
    List<Map<String,Object>> getYarnCurdateTaskNums(String centerId);
    //impala作业运行情况统计
    List<Map<String,Object>> getImpalaCurdateTaskNums(String centerId);

    /**
     * Dashboard页 - 资源监控总体展现
     * @return
     */
    //资源监控总体展现
    //不同集群在最近24小时内的yarn内存分配率
    List<ClusterResourceInfo> getResourcefpYarn(String centerId);
    //不同集群在最近24小时内的yarn内存使用率
    List<ClusterResourceInfo> getResourceUsageYarn(String centerId);
    //不同集群在最近24小时内的Impala内存使用量
    List<ClusterResourceInfo> getResourceUsageImpala(String centerId);

    /**
     * 资源利用率报表页
     * @return
     */
    List<Map<String,String>> selAllCm(Map map);
//    List<Map<String,String>> selAllUser(Map map);
//    List<Map<String,String>> selAllUnit(Map map);
    List<Map<String,String>> selAllYarnQueue(Map map);
    List<Map<String,String>> selAllImpalaPool(Map map);

//    List<ReportResourceModel> selDetailYarnTb(ReportResourceModel req);
//    List<ReportResourceModel> selDetailImpalaTb(ReportResourceModel req);
//    List<ReportResourceModel> selDetailHdfsTb(ReportResourceModel req);
}
